assume cs:code, ds:data, ss:stack

; 数据段
data segment
    dw 0123H,0456H,0789H,0ABCH,0DEFH
data ends

; 栈段
stack segment stack
    dw 0,0,0,0,0,0,0,0,0,0 ; 定义字型数据
stack ends
; 指令段
code segment

start:  ; 指令开始标志位
    mov ax, data
                ; 设置数据段
    mov ds, ax

    mov ax, stack
                ; 设置栈段
    mov ss, ax

    mov sp, 20

    mov bx, 0

    mov cx, 5
copyData:
    push ds:[bx]

    add bx, 2

    loop copyData

    mov ax, 4c00H
    int 21H
code ends
end start